package com.whq.thrift.api.web.admin.db.config;

import java.util.Map;

import org.apache.ibatis.jdbc.SqlBuilder;

import com.whq.common.StringUtil;

public class ConfigSqlProvider {
	public String getSelectRecrodSql(Map<String, Object> parameter) {
		SqlBuilder.BEGIN();
		SqlBuilder.SELECT("*");
		SqlBuilder.FROM("t_config");
		if ((parameter.get("conf_key") != null) && StringUtil.isNotBlank(parameter.get("conf_key").toString())) {
			SqlBuilder.WHERE("conf_key=#{conf_key}");
		}
		SqlBuilder.ORDER_BY("conf_key asc");
		return SqlBuilder.SQL() + " limit #{beginIndex}, #{maxCount} ";
	}

	public String getSelectCountSql(Map<String, Object> parameter) {
		SqlBuilder.BEGIN();
		SqlBuilder.SELECT("count(*)");
		SqlBuilder.FROM("t_config");
		if ((parameter.get("conf_key") != null) && StringUtil.isNotBlank(parameter.get("conf_key").toString())) {
			SqlBuilder.WHERE("conf_key=#{conf_key}");
		}
		return SqlBuilder.SQL();
	}

	public String getUpdateSql(Config config) {
		SqlBuilder.BEGIN();
		SqlBuilder.UPDATE("t_config");
		if (StringUtil.isNotBlank(config.getConf_val())) {
			SqlBuilder.SET("conf_val=#{conf_val}");
		}
		SqlBuilder.SET("comment=#{comment}");
		if (config.getUpdate_time() != null) {
			SqlBuilder.SET("update_time=#{update_time}");
		}
		SqlBuilder.WHERE("conf_key=#{conf_key}");
		return SqlBuilder.SQL();
	}
}
